package com.efast.dmom.mgmt.service.mes;
import java.util.List;

import com.efast.cafe.framework.bean.ResultBean;
import com.efast.dmom.mgmt.entity.mes.TrBasPdPlRoute;
import com.efast.dmom.mgmt.utils.Assist;
public interface TrBasPdPlRouteService{
	/**
	 * 获得TrBasPdPlRoute数据的总行数,可以通过辅助工具Assist进行条件查询,如果没有条件则传入null
	 * @param assist
	 * @return
	 */
    long getTrBasPdPlRouteRowCount(Assist assist);
	/**
	 * 获得TrBasPdPlRoute数据集合,可以通过辅助工具Assist进行条件查询,如果没有条件则传入null
	 * @param assist
	 * @return
	 */
    List<TrBasPdPlRoute> selectTrBasPdPlRoute(Assist assist);
	/**
	 * 获得一个TrBasPdPlRoute对象,以参数TrBasPdPlRoute对象中不为空的属性作为条件进行查询
	 * @param obj
	 * @return
	 */
    TrBasPdPlRoute selectTrBasPdPlRouteByObj(TrBasPdPlRoute obj);
	/**
	 * 通过TrBasPdPlRoute的id获得TrBasPdPlRoute对象
	 * @param id
	 * @return
	 */
    TrBasPdPlRoute selectTrBasPdPlRouteById(Integer id);
	/**
	 * 插入TrBasPdPlRoute到数据库,包括null值
	 * @param value
	 * @return
	 */
    int insertTrBasPdPlRoute(TrBasPdPlRoute value);
	/**
	 * 插入TrBasPdPlRoute中属性值不为null的数据到数据库
	 * @param value
	 * @return
	 */
    int insertNonEmptyTrBasPdPlRoute(TrBasPdPlRoute value);
	/**
	 * 批量插入TrBasPdPlRoute到数据库
	 * @param value
	 * @return
	 */
    int insertTrBasPdPlRouteByBatch(List<TrBasPdPlRoute> value);
	/**
	 * 通过TrBasPdPlRoute的id删除TrBasPdPlRoute
	 * @param id
	 * @return
	 */
    int deleteTrBasPdPlRouteById(Integer id);
	/**
	 * 通过辅助工具Assist的条件删除TrBasPdPlRoute
	 * @param assist
	 * @return
	 */
    int deleteTrBasPdPlRoute(Assist assist);
	/**
	 * 通过TrBasPdPlRoute的id更新TrBasPdPlRoute中的数据,包括null值
	 * @param enti
	 * @return
	 */
    int updateTrBasPdPlRouteById(TrBasPdPlRoute enti);
 	/**
	 * 通过辅助工具Assist的条件更新TrBasPdPlRoute中的数据,包括null值
	 * @param value
	 * @param assist
	 * @return
	 */
    int updateTrBasPdPlRoute(TrBasPdPlRoute value,  Assist assist);
	/**
	 * 通过TrBasPdPlRoute的id更新TrBasPdPlRoute中属性不为null的数据
	 * @param enti
	 * @return
	 */
    int updateNonEmptyTrBasPdPlRouteById(TrBasPdPlRoute enti);
 	/**
	 * 通过辅助工具Assist的条件更新TrBasPdPlRoute中属性不为null的数据
	 * @param value
	 * @param assist
	 * @return
	 */
    int updateNonEmptyTrBasPdPlRoute(TrBasPdPlRoute value, Assist assist);
    
    /**
     * 通过零件号获取数据
     * @param partNo
     * @return
     */
	TrBasPdPlRoute getByPartNo(String partNoVersion,String lineName);
	
	
	 /**
     * 通过工艺路线id和成品物料id获取数据
     * @param partNo
     * @return
     */
	ResultBean selectTrBasPdPlRouteByRoutidPartid(Integer partId,Integer routeId);
	/**
     * 通过工艺路线id获取当前工艺路线下的总工序数量
     * @param partNo
     * @return
     */
	ResultBean selectOperationCountByTrBasPdPlRoute();
}